package futbol.tacticas.concursantes2007.TacticaTururu;

import java.util.Random;

public class Fuerza {

	private int[] fuerza = new int[Constantes.LINEAS_JUEGO + 1];

	private Fuerza (int [] fuerza) {
		this.fuerza [Constantes.LINEA_DEFENSIVA] = fuerza [Constantes.LINEA_DEFENSIVA];
		this.fuerza [Constantes.LINEA_CENTRO_CAMPO_ATRAS] = fuerza [Constantes.LINEA_CENTRO_CAMPO_ATRAS];
		this.fuerza [Constantes.LINEA_CENTRO_CAMPO_ALANTE] = fuerza [Constantes.LINEA_CENTRO_CAMPO_ALANTE];
		this.fuerza [Constantes.LINEA_DELANTERA] = fuerza [Constantes.LINEA_DELANTERA];
		this.fuerza [Constantes.LINEA_PORTERO] = fuerza [Constantes.LINEA_PORTERO];
	}

	public Fuerza (final String valores) {
		fuerza[Constantes.LINEA_DEFENSIVA] = Integer.parseInt(Character.toString(valores.charAt(0)));
		fuerza[Constantes.LINEA_CENTRO_CAMPO_ATRAS] = Integer.parseInt(Character.toString(valores.charAt(2)));
		fuerza[Constantes.LINEA_CENTRO_CAMPO_ALANTE] = Integer.parseInt(Character.toString(valores.charAt(4)));
		fuerza[Constantes.LINEA_DELANTERA] = Integer.parseInt(Character.toString(valores.charAt(6)));
		fuerza[Constantes.LINEA_PORTERO] = Integer.parseInt(Character.toString(valores.charAt(8)));
	}

    public static Fuerza generarFuerzasAleatoria() {
        int[] misFuerzas = new int[Constantes.LINEAS_JUEGO + 1];

        misFuerzas[Constantes.LINEA_DEFENSIVA] = Math.abs(new Random().nextInt()) % (Constantes.FUERZA_MAXIMA) + 4;
        misFuerzas[Constantes.LINEA_CENTRO_CAMPO_ATRAS] = Math.abs(new Random().nextInt()) % (Constantes.FUERZA_MAXIMA) + 4;
        misFuerzas[Constantes.LINEA_CENTRO_CAMPO_ALANTE] = Math.abs(new Random().nextInt()) % (Constantes.FUERZA_MAXIMA) + 4;
        misFuerzas[Constantes.LINEA_DELANTERA] = Math.abs(new Random().nextInt()) % (Constantes.FUERZA_MAXIMA) + 4;
        misFuerzas[Constantes.LINEA_PORTERO] = Math.abs(new Random().nextInt()) % (Constantes.FUERZA_MAXIMA) + 4;

        return new Fuerza(misFuerzas);
    }

    public int[] getFuerza() {
		return fuerza;
	}

	public static String toString (final Fuerza _fuerza) {

		return _fuerza.fuerza[Constantes.LINEA_DEFENSIVA] + "-" +
			   _fuerza.fuerza[Constantes.LINEA_CENTRO_CAMPO_ATRAS] + "-" +
			   _fuerza.fuerza[Constantes.LINEA_CENTRO_CAMPO_ALANTE] + "-" +
			   _fuerza.fuerza[Constantes.LINEA_DELANTERA] + "-" +
			   _fuerza.fuerza[Constantes.LINEA_PORTERO] + "\n";
	}

} // public class Fuerza
